home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / 2336A.ZIP / SCRDISK2.EXE / arc / TUTORPT2.DOC < prev   
Text File  |  1990-04-29  |  41KB  |  1,117 lines

  1.                                  Page T-2.1
  2.       
  3.       
  4.       TURBO SCREDIT TUTOR PART II.(Field Processing stmts).(Section T-2)
  5.       
  6.       Introduction to Turbo ScrEdit Tutor Part II.....T-2.1
  7.       Using the processing specifications editor......T-2.2
  8.       SET.............................................T-2.5
  9.       REQUIRED........................................T-2.5,6,11,14
  10.       HELP............................................T-2.6
  11.       REM.............................................T-2.7
  12.       IN..............................................T-2.7,8,11,12,14
  13.       UP SHIFT ON/OFF.................................T-2.7,9,11
  14.       IF [AND,OR] THEN/ENDIF..........................T-2.8,9,10,11,12,
  15.                                                           13,
  16.       ERROR...........................................T-2.10
  17.       SKIP............................................T-2.8
  18.       SKIP IF BLANK...................................T-2.10
  19.       EDIT............................................T-2.14
  20.       
  21.       
  22.       
  23.       
  24.       
  25.       
  26.       
  27.       
  28.       
  29.       
  30.       
  31.       
  32.       
  33.       
  34.       
  35.       
  36.       
  37.       
  38.       
  39.       
  40.       
  41.       
  42.       
  43.       
  44.       
  45.       
  46.       
  47.       
  48.       
  49.       
  50.       
  51.       
  52.       
  53.       
  54.       
  55.       
  56.       
  57.       
  58.       
  59.       
  60.       
  61.       
  62.       
  63.       
  64.       
  65.       
  66.       
  67.                                  Page T-2.1
  68.       
  69.       
  70.       
  71.       Introduction to Turbo ScrEdit Tutor Part II
  72.       -----------------------------------------------------------------
  73.       In PART ONE you learned  how to create a screen file, create  and 
  74.       edit   screens  inside the screen file. You also learned  how  to 
  75.       compile  a  screen  and set the screen field  type,   change  the  
  76.       order   that  the screens fields  are processed in,   change  the 
  77.       field  display and  prompt color assignments, test a screen,  and 
  78.       finally, how to generate source code for processing the screens. 
  79.       
  80.       In   PART   TWO we are going to take a look at  using  the  field 
  81.       processing  language that is built into Turbo ScrEdit. Using  the 
  82.       field  processing language you can edit data entered into  fields 
  83.       by  specifying  a  range of values or  a  predetermined  list  of 
  84.       specific  values,  or  any mixture of both.  Turbo  ScrEdit  also 
  85.       allows  you  to  establish  more  than  one  set  of   validation 
  86.       specification  to  be used to validate the contents  of  a  field 
  87.       differently  depending on the values of one or more other  fields 
  88.       on the screen.
  89.       
  90.       We  will  also  discuss using  field  processing  statements  for  
  91.       assigning field help messages, setting initial field values,  and 
  92.       specifying field edit masks.
  93.       
  94.       Before  we get started you will want to make sure that  you  have 
  95.       copied  the  file "ScrDemo.Scr" into your current  work  area  or 
  96.       disk, and that you have the necessary files available so you  can 
  97.       run Turbo ScrEdit. 
  98.       
  99.       Okay, we are ready to begin.
  100.       
  101.          LOAD AND RUN TURBO SCREDIT.
  102.       
  103.          PRESS THE "Y" KEY TO ACCESS THE MAIN MENU
  104.       
  105.          PRESS F1
  106.         
  107.          TYPE SCRDEMO
  108.       
  109.          PRESS HOME
  110.       
  111.       The  screen name "Demo_Screen" should now be in  the  highlighted 
  112.       line  of  the screen name section of the  "Work  Screen"  window.  
  113.       Before we precede lets get a printed listing of this screen  that 
  114.       we can refer to during the discussion that follows.
  115.       
  116.          PRESS F5
  117.       
  118.       Turbo ScrEdit responds with "Ready Printer...<ESC> to Abort".  If 
  119.       you  do  not have a printer just press ESC  otherwise  press  any 
  120.       other key to start printing the screen listing.
  121.       
  122.          PRESS PGUP to advance the report out of your printer.
  123.       
  124.       
  125.       
  126.       
  127.       
  128.       
  129.       
  130.       
  131.       
  132.       
  133.                                  Page T-2.2
  134.       
  135.       
  136.       
  137.          PRESS F4   the compile screen option.
  138.       
  139.          PRESS Y    to accept the current settings.
  140.       
  141.       Using the processing specifications editor.
  142.       -----------------------------------------------------------------
  143.       Before we begin to explore field processing statements lets  take 
  144.       a  look  at  the editing facilities  for  adding,  changing,  and 
  145.       deleting processing specification lines. 
  146.       
  147.       At this point you will be looking at the first  field  on  the 
  148.       screen  "SetDemo1".  There are two things I want  you  to  notice 
  149.       here.  First,  notice the function key label for  F2  that  reads 
  150.       "Edit Process". Second, notice in the lower portion of the screen 
  151.       there is a line that starts with the word SET. 
  152.       
  153.          PRESS F2
  154.       
  155.       The  line  in  the  bottom  portion  of  the  screen  has  become 
  156.       highlighted  and  the  function key  labels  have  changed.  This 
  157.       highlighted  line  is the "Edit Line", and has  all  the  editing 
  158.       features of any field on a Turbo ScrEdit screen. That is the left 
  159.       and  right arrows move the cursor, the INSERT key toggles  insert 
  160.       mode  on   and off, the DELete key deletes the character  at  the 
  161.       cursor,  and the BACKSPACE key deletes the character to the  left 
  162.       of the cursor and drags the remainder of the line to the left one 
  163.       character.
  164.       
  165.       Each  field on the screen can have up to 50 lines  of  Processing 
  166.       statements  assigned to it.  First lets discuss adding new  lines 
  167.       of processing statements.
  168.       
  169.           PRESS F3
  170.       
  171.       The F3 key is used to insert a line into the text at the  current 
  172.       line.  The line with the SET statement just moved down  one  line 
  173.       and a new blank line was added above it. 
  174.       
  175.           Type: REM THIS IS MY FIRST LINE and PRESS ENTER
  176.       
  177.       When  the  ENTER  key was pressed the lines scrolled  up  in  the 
  178.       editor  window  so the cursor is now positioned on  the  original 
  179.       line with the SET statement.
  180.       
  181.           PRESS ENTER again
  182.       
  183.       Pressing the ENTER key will always cause the screen to scroll one 
  184.       line.  Notice  that when ENTER was pressed on the  last  line  of 
  185.       text, a new blank line is been added to the screen.
  186.       
  187.           Type: REM THIS IS MY SECOND LINE and PRESS ENTER
  188.        
  189.           Type: REM and PRESS ENTER
  190.       
  191.           Type: REM again and PRESS ENTER.
  192.       
  193.       
  194.       
  195.       
  196.       
  197.       
  198.       
  199.                                  Page T-2.3
  200.       
  201.       
  202.       
  203.       Now  that you have seen how lines are added, lets look at how  to 
  204.       scroll  through lines of text. The most basic method is  pressing 
  205.       the ENTER key to cause the screen to scroll up one line. The  F5, 
  206.       F6, F7, and F8 keys can also be used for scrolling text.
  207.       
  208.           PRESS F5
  209.       
  210.       The cursor is placed on the first line of processing statements.
  211.       
  212.           PRESS F6
  213.       
  214.       The cursor is placed on the last line of processing statements.
  215.       
  216.           PRESS F7 - 4 times
  217.       
  218.       Each time you press F7 the screen scrolls down one line until you 
  219.       reach the first line of text.
  220.       
  221.           PRESS F8 - 4 times.
  222.       
  223.       Each  time  you press F8 the screen scroll up one  line  just  as 
  224.       when  the  ENTER key pressed.  The only real  difference  between 
  225.       using  the  F8 key and the ENTER key is that only the  ENTER  key 
  226.       will  append a new line for text.
  227.       
  228.       
  229.       Next we will look at deleting lines of text.
  230.       
  231.           PRESS F7 to scroll up one line of text.
  232.       
  233.           PRESS F2 to delete the current line.
  234.       
  235.       The line is deleted and the last line moves up.
  236.       
  237.           PRESS F2 again.
  238.       
  239.       Be careful at this point not to delete the original line with the 
  240.       SET  statement.  If you do delete it by accident just  re-key  it 
  241.       using the example on the printed screen listing.
  242.       
  243.           PRESS F7
  244.       
  245.           PRESS F2
  246.       
  247.       We are now back to having only the original SET statement left on 
  248.       this field.
  249.       
  250.       Next we will review the help facility.
  251.       
  252.          PRESS F1  
  253.        
  254.       The  help  screen menu has filled the screen.   Notice  that  the 
  255.       first three topics listed on the screen apply to defining  fields 
  256.       
  257.       
  258.       
  259.       
  260.       
  261.       
  262.       
  263.       
  264.       
  265.                                  Page T-2.4
  266.       
  267.       
  268.       
  269.       and  using the compile screen. All remaining topics describe  the 
  270.       field processing statements that are recognized by Turbo ScrEdit.
  271.       
  272.          PRESS ESC to exit the help screen.
  273.        
  274.          PRESS ESC to exit the field processing editor.
  275.       
  276.       Now  that  you  understand how to  access  the  field  processing 
  277.       editor,  and how to use it,  we are going to return to  the  main 
  278.       menu and see how the field processing statements work. Before  we 
  279.       leave  you may wish to browse through the screen fields and  look 
  280.       at the other field processing statements. 
  281.       
  282.       When you are ready..
  283.         
  284.           PRESS ESC to return to the main menu.
  285.       
  286.           PRESS F10
  287.       
  288.       We have just entered Turbo ScrEdit's screen test facility.
  289.       
  290.       Before  we begin you will need the printed listing of the  screen 
  291.       and  it's  fields.  We will be discussing  the  field  processing 
  292.       statements  for each field as they are listed on the  listing.  I 
  293.       will not attempt to give a detailed description of the format  of 
  294.       the  processing statements, rather, we will look at  the  results 
  295.       as  Turbo  ScrEdit  analyzes them. For the details  on  how  each 
  296.       statement  is formatted I will ask you to look up each  statement 
  297.       as it is discussed in the on-line help system. 
  298.       
  299.       For  practice lets look up the SET statement in the on-line  help 
  300.       system.  The  SET statement will be the  first  field  processing 
  301.       statement that we will be discussing.
  302.       
  303.           PRESS ESC 
  304.       
  305.           PRESS F7
  306.       
  307.           Next,  lets locate the SET statement in the index.
  308.       
  309.           PRESS PGDN 3 times
  310.       
  311.           You  should  now see a list of topics  for  field  processing 
  312.           statements  listed  under the topic "Using  field  processing 
  313.           specifications." Find the SET statement in the list and:
  314.            
  315.           PRESS G
  316.       
  317.           Type:20 (or the line number next to the SET index line)
  318.              
  319.           Read the help text describing the SET statement.
  320.       
  321.       
  322.        
  323.       
  324.       
  325.       
  326.       
  327.       
  328.       
  329.       
  330.       
  331.                                  Page T-2.5
  332.       
  333.       
  334.       
  335.           PRESS ESC when you are finished with the help screen.
  336.       
  337.           PRESS F10 to resume testing our screen.
  338.       
  339.       Turn to page 1 of the screen listing. At the top of the page  you 
  340.       see  information  about the screen: the screen name,  the  screen 
  341.       file  name,  and  the name of the screen  buffer  that  you  will 
  342.       include in your programs. Next on the page we see the screen text 
  343.       and fields are printed.
  344.       
  345.       Next  we  see  the "SCREEN FIELD  DEFINITIONS"  section   of  the 
  346.       report.  Information  about each field on the  screen  is  listed 
  347.       here.  Lines of dashes separate each of the  field  descriptions, 
  348.       and  lines  of  dots  mark where  that  fields  field  processing 
  349.       statements begin.
  350.       
  351.       Lets  begin  by looking the first three screen fields up  in  the 
  352.       screen  listing. We see that these are display only  fields,  and 
  353.       that they are now displaying the initial values assigned to  them 
  354.       by SET statements. 
  355.       
  356.       The SET statement:
  357.           -------------------------------------------------------------  
  358.           You will recall from reading the help text on SET  statements 
  359.           that  the  SET  statement is used to  assign  fields  initial 
  360.           values. The first two fields on the screen are displaying the 
  361.           text  as  it has be type in the message portion  of  the  SET 
  362.           statements.
  363.       
  364.           Next notice the field named SetDemo3, and the special  format 
  365.           of it's SET statement: SET 'SYSDATE'
  366.       
  367.           As  described  in the on-line help text, when  Turbo  ScrEdit 
  368.           encounters  this set statement it will read the current  date 
  369.           set in DOS and assign it to the field  in MM/DD/YYYY format.  
  370.       
  371.           See  the  description of S_CLEARSCREEN in the  Turbo  ScrEdit 
  372.           Programmers  Reference manual for information on how  to  use 
  373.           SET statements in your programs.
  374.       
  375.           ** PLEASE NOTE **
  376.           The  set statement must be keyed in one of the  fields  first 
  377.           three  lines of processing statements. If it is keyed in  the 
  378.           fourth or greater line, it will be ignored by Turbo ScrEdit.
  379.       
  380.       
  381.       Next locate the "OP" field on the screen listing and lets look at 
  382.       the processing statements assigned to it.   
  383.       
  384.       The REQUIRED statement:
  385.           -------------------------------------------------------------
  386.           By looking at the screen that is displayed, we see that there 
  387.           are 5 possible options. Because option is a key field on  the 
  388.           screen I have made it a REQUIRED field.
  389.       
  390.           Take a moment and look up REQUIRED in the help system.
  391.       
  392.       
  393.       
  394.       
  395.       
  396.       
  397.                                  Page T-2.6
  398.       
  399.       
  400.       
  401.           PRESS ENTER
  402.       
  403.           A  message  has appeared instructing you that this  field  is 
  404.           required.  Notice in the printed listing for this field  that 
  405.           the  message now displayed on the bottom line of  the  screen 
  406.           has  been  coded  as part of  the  REQUIRED  statement.  This 
  407.           message is optional. Had I coded only the REQUIRED  statement 
  408.           with no  message, the default message described in  the  help 
  409.           text would have been displayed. 
  410.       
  411.       
  412.       
  413.       The HELP statement
  414.           -------------------------------------------------------------
  415.           Next we see a HELP statement and a Help Message.
  416.       
  417.           Take a moment and look up HELP in the on-line help system.
  418.        
  419.           Type: ?
  420.       
  421.           The  help  message for this field has been displayed  on  the 
  422.           bottom line of the screen. 
  423.       
  424.           Help  statements  can be assigned to any field,  and  can  be 
  425.           accessed two ways.
  426.       
  427.           1st - Typing a ? mark as the first character of a field will
  428.                 cause the help message to be displayed.
  429.       
  430.           2nd - Setting the S_AutoHelp switch to TRUE in  your  program
  431.                 will cause help messages to be displayed  automatically 
  432.                 as the cursor moves from field to field.
  433.                 
  434.                 You  can test this option now by pressing F1 to  toggle 
  435.                 auto  help  mode ON. Then use the TAB key to  move  the 
  436.                 cursor  from field to field. Pressing the F1 key  again 
  437.                 will toggle auto help mode OFF.
  438.       
  439.                 Go ahead and try it.. 
  440.       
  441.                 PRESS F1
  442.       
  443.                 PRESS TAB 3 times and notice the help messages as  they 
  444.                 are  displayed.
  445.       
  446.                 PRESS F1      
  447.       
  448.                 PRESS  SHIFT  and  TAB  3 times  notice  that  no  help 
  449.                 messages are displayed as the cursor moves back to  the 
  450.                 option field.
  451.        
  452.                        
  453.              
  454.       
  455.       
  456.       
  457.       
  458.       
  459.       
  460.       
  461.       
  462.       
  463.                                  Page T-2.7
  464.       
  465.       
  466.       
  467.       The REM statement     
  468.           -------------------------------------------------------------
  469.           Next we see comments embedded in the field processing  specs. 
  470.           As you would expect, comments are ignored by Turbo ScrEdit.
  471.       
  472.           If you would like to, look up REM in the on-line help system.       
  473.       
  474.       
  475.       
  476.       The IN statement     
  477.           -------------------------------------------------------------
  478.           Be  sure you take a moment here and look up the IN  statement 
  479.           in the on-line help.  As you can see, using the IN  statement  
  480.           can be very simple to very complex depending on your need. 
  481.         
  482.           The IN statement is used to test the value of the field  that 
  483.           it  is assigned to. This is a simple example that  will  test 
  484.           the value keyed into OP to assure that it falls in the  range 
  485.           of 1 through 5.
  486.       
  487.           Type 9 and PRESS ENTER
  488.       
  489.           We see that the error message associated to the IN  statement 
  490.           has  been  displayed on the screen. We will not  be  able  to 
  491.           continue  until  a value of 1 to 5 has been entered  in  this 
  492.           field.
  493.       
  494.       Now lets move on and examine option 1 of this screen.
  495.       
  496.       Type: 1 and press enter
  497.        
  498.       A  new  message has been displayed on the message  line  and  the 
  499.       cursor has move to the first field in the option 1 section of the 
  500.       screen.  This  section is designed to demonstrate  using  the  IN 
  501.       statement to edit data entered into a field for a valid value.
  502.       
  503.       Lets look at the field processing statements for the screen fields
  504.       in the option 1 section of the screen. 
  505.       
  506.       The UP SHIFT ON/OFF statement     
  507.           -------------------------------------------------------------
  508.           Look up UP SHIFT in the on-line help system.
  509.       
  510.           UP SHIFT ON instructs Turbo ScrEdit to make all  alphabetical 
  511.           character comparisons with no regard to character case. 
  512.       
  513.           UP SHIFT OFF returns Turbo ScrEdit back to it's default  mode 
  514.           of character comparison where character case is significant.  
  515.       
  516.           The  scope  of the UP SHIFT ON statement is  limited  to  the 
  517.           field  that it is coded for. When Turbo ScrEdit  advances  to 
  518.           the  next field on the screen it will return to  the  default 
  519.           mode for character comparison where different character cases 
  520.           compare differently. 
  521.            
  522.       
  523.       
  524.       
  525.       
  526.       
  527.       
  528.       
  529.                                  Page T-2.8
  530.       
  531.       
  532.       
  533.       The IF statement     
  534.           -------------------------------------------------------------
  535.           Be sure to look this statement up in the on-line help system. 
  536.       
  537.           You will see that each of the fields in the option 1  section 
  538.           of  the screen have the same IF statements coded. Unless  the 
  539.           user has selected option 1 by keying a 1 in the option field, 
  540.           Turbo  ScrEdit will act on the SKIP statement and  will  skip 
  541.           over  these  fields  and will not  analyze  their  processing 
  542.           statements. 
  543.       
  544.           When  the  value of OP IS EQUAL to 1 then IN  statement  that 
  545.           follows the IF statement is analyzed.
  546.       
  547.       
  548.       The SKIP statement     
  549.           -------------------------------------------------------------
  550.           If  you  look up the SKIP statement you will see that  it  is 
  551.           only used INSIDE the action part of an IF statement. 
  552.       
  553.           SKIP means that Turbo ScrEdit is to skip all other processing 
  554.           statement  for this field and accept whatever value has  been 
  555.           key in the field.  
  556.       
  557.           Lets take a look a how this statement works.
  558.        
  559.           PRESS SHIFT TAB 
  560.       
  561.           Type: 2 and PRESS ENTER
  562.       
  563.           Since  we selected option 2, the IF statements on  the  three 
  564.           fields  that  we are looking at instructed Turbo  ScrEdit  to 
  565.           SKIP  the  processing  statements for these  fields.  So  the 
  566.           cursor has advance to the first field in the option 2 section 
  567.           of the screen. 
  568.       
  569.           PRESS F9 to re-init the screen.
  570.       
  571.           Type: 1 and PRESS ENTER 
  572.       
  573.           The cursor has now returned to the first field in the  option 
  574.           1 section of the screen.
  575.       
  576.       
  577.       The IN statement     
  578.           -------------------------------------------------------------
  579.           Each  of the three fields have a IN statement to verify  that 
  580.           the values that they receive are in the specified ranges. 
  581.       
  582.           Notice  that the first field's IN statement is composed of  a 
  583.           list  of  values. The list of values begins and ends  with  a 
  584.           single  quote, and each value in the list is separated  by  a 
  585.           single quote. Notice also that only the first field uses  the 
  586.           UP  SHIFT  ON  statement because it  is  making  alphabetical 
  587.           comparisons.   The  other  fields  will  be  making   numeric 
  588.           comparisons so character case will not matter.
  589.       
  590.       
  591.       
  592.       
  593.       
  594.       
  595.                                  Page T-2.9
  596.       
  597.       
  598.       
  599.           Notice in the other three field's IN statement that they  are 
  600.           using  the  a  range  test. That is  a  minimum  and  maximum 
  601.           acceptable value enclosed in single quotes and separated by a 
  602.           caret (^).
  603.       
  604.       Take  a  moment and try entering different kinds of  values  into 
  605.       each of these fields.
  606.       
  607.       When you are finished PRESS F9 to re-init the screen.
  608.       
  609.       Type: 2 and PRESS ENTER
  610.       
  611.       Locate  OPTION 2's fields in the screen listing and lets  examine 
  612.       how they are set up before we try to use them.
  613.       
  614.       OPTION 2 is designed to demonstrate the use of the IF  statement. 
  615.       The IF statement allows you to test the current field for a value 
  616.       that  is  valid depending on the status of other  fields  on  the 
  617.       screen. 
  618.       
  619.       In  this section we see four fields, "A", "B", "C", and  a  field 
  620.       called  the "Combined Field". Basically the processing specs  are 
  621.       going assure the following conditions:
  622.       
  623.           1 - The value in the first field must be a "A" 
  624.               The value in the second field must be a "B"
  625.               The value in the third field must be a "C"
  626.       
  627.           2 - One of the three fields must be left blank.  
  628.       
  629.           3 - Two  of the three fields must have a value.
  630.       
  631.           4 - The  value keyed into the combined field must  match  the 
  632.               pattern of the top three fields.
  633.       
  634.       With  that  in mind lets take a look at the processing  specs  to 
  635.       accomplish this. First lets look at field A.
  636.       
  637.       The IF statement 1     
  638.           -------------------------------------------------------------
  639.           This  IF  statement is very similar to the IF  statements  we 
  640.           looked at for OPTION 1's fields. If OP is not 2 then all  the 
  641.           remaining field processing statements are SKIPped.
  642.       
  643.       The UP SHIFT ON 
  644.           -------------------------------------------------------------
  645.           All comparisons are not case sensitive. 
  646.       
  647.       The IF statement 2     
  648.           -------------------------------------------------------------
  649.           In this statement we introduce the AND logical operator. This 
  650.           IF statement will test for condition #2 listed above; that at 
  651.           least one of the three fields is left blank.
  652.       
  653.           If  all the fields are NOT blank then all three  fields  have 
  654.           been assigned a value and the ERROR message is displayed.
  655.       
  656.       
  657.       
  658.       
  659.       
  660.       
  661.                                  Page T-2.10
  662.       
  663.       
  664.       
  665.       The ERROR statement     
  666.           -------------------------------------------------------------
  667.           The ERROR statement is used only in the action part of the IF 
  668.           statement  and  forces the current field to return  an  ERROR 
  669.           condition regardless of the value that has been keyed into it.  
  670.       
  671.           The message coded with the ERROR statement is displayed as  a 
  672.           result of the ERROR condition.
  673.       
  674.           PRESS X 3 time and PRESS ENTER
  675.           
  676.           The ERROR message is displayed.
  677.       
  678.         
  679.       The IF statement 2    
  680.           -------------------------------------------------------------
  681.           This IF statement introduces the use of the OR statement. The 
  682.           purpose  of  this  IF  statement is  to  finish  testing  for 
  683.           condition #2 and test for condition #3  by making sure  that 
  684.           ONLY  ONE of the fields are left blank and that at least  two 
  685.           of the fields have non blank values.
  686.       
  687.       
  688.       The IF statement 3    
  689.           -------------------------------------------------------------
  690.           If  the value being tested makes it to this IF  statement  we 
  691.           know  that two of the three fields in section 2  have  values 
  692.           keyed  into them. So this if statement test to see if  it  is 
  693.           one of the other fields that is blank.
  694.       
  695.           IF one of the other fields are blank then the IN statement in 
  696.           the  action part of this IF statement test to make sure  that 
  697.           the A  field has a value of 'A'. 
  698.       
  699.           If fields B or C were not blank then this if statement  would 
  700.           have assumed that this field was blank and would have skipped 
  701.           to the next field B. 
  702.       
  703.       
  704.       Now lets look at fields B and C.
  705.       
  706.       Accept  for  the value tested for in the IN  statements  both  of 
  707.       these fields have the same processing specifications.
  708.        
  709.       The SKIP IF BLANK statement     
  710.           -------------------------------------------------------------
  711.           If  Turbo  ScrEdit makes it this far with  out  detecting  an 
  712.           error  when  it processed field A then it knows that  if  the 
  713.           second field is blank the third field will have a value.  
  714.       
  715.           This  statement does just what it implies. If the  field  has 
  716.           been  left  blank with no value keyed into it  Turbo  ScrEdit 
  717.           skip  all the remaining field processing statements  for  the 
  718.           field.
  719.       
  720.       
  721.       
  722.       
  723.       
  724.       
  725.       
  726.       
  727.                                  Page T-2.11
  728.       
  729.       
  730.       
  731.       The IF statement     
  732.           -------------------------------------------------------------
  733.           Again  the field processing statements for these  fields  are 
  734.           only to be processed if the user has selected option 2.
  735.       
  736.       
  737.       The IN statement     
  738.           -------------------------------------------------------------
  739.           In  these examples the upper and lower cases  characters  are 
  740.           required because no UP SHIFT ON statement has been coded.
  741.       
  742.       
  743.       The  next field "ABCD" uses IF statements to determine  which  of 
  744.       the IN statements are to be used to test the value of the field.
  745.       
  746.       If field A is blank then ABCD must have a value of " BC".
  747.       If field B is blank then ABCD must have a value of "A C".
  748.       If field C is blank then ABCD must have a value of "AB".
  749.       
  750.       Go  ahead and try keying values in these four fields and  observe 
  751.       the results.
  752.       
  753.       When you are finished PRESS F9 to re-init the screen.
  754.       
  755.       Type: 3 press ENTER
  756.       
  757.       Now locate option 3's fields in the screen listing. 
  758.       
  759.       This option is to demonstrate the UP SHIFT statement.
  760.       
  761.       By  now  you probably have the idea of how the  UP  SHIFT  ON/OFF 
  762.       statement works. This next example will reinforce you knowledge.
  763.        
  764.       
  765.       The IF statement      
  766.           -------------------------------------------------------------
  767.           The user must have selected option 3 or  the field processing 
  768.           statements for this field will not be processed.
  769.       
  770.       
  771.       The REQUIRED statement     
  772.           -------------------------------------------------------------
  773.           Notice because REQUIRED is coded AFTER the IF statement  that 
  774.           this field is only REQUIRED if option 3 has been selected. 
  775.       
  776.           Notice  also  that  the default  REQUIRED  message  has  been 
  777.           displayed  on the message line and that the cursor is on  the 
  778.           first field of the option 3 section of the screen.
  779.       
  780.             
  781.       The UP SHIFT statement     
  782.           -------------------------------------------------------------
  783.           The  UP  SHIFT statement coded here will cause  the  character 
  784.           comparison to be done with no regard to character case.  
  785.       
  786.       
  787.       
  788.       
  789.       
  790.       
  791.       
  792.       
  793.                                  Page T-2.12
  794.       
  795.       
  796.       
  797.       The IN statement     
  798.           ------------------------------------------------------------- 
  799.           This IN statement will test that the user has keyed either ON 
  800.           or OFF in this field. Any other value will be rejected.
  801.       
  802.       
  803.       
  804.       Next  look at the processing specifications defined on  the  next 
  805.       field "UpString".
  806.       
  807.       The IF statement 1    
  808.           -------------------------------------------------------------
  809.           This  IF statement will cause the field processing  statements 
  810.           for this field to be skipped if OP is not option 3.     
  811.       
  812.       
  813.       The IF statement 2
  814.           -------------------------------------------------------------
  815.           Because  no  UP SHIFT ON statement has been coded  here,  the 
  816.           processing statements will have to test for all the different 
  817.           character case combinations that can occur for "off".   
  818.            
  819.           You  might wonder why this approach was taken. The reason  is 
  820.           that  an UP SHIFT OFF statement can not be used inside an  IF 
  821.           statement. In this particular case we need to test the  value 
  822.           keyed  into  this field in the case that it is keyed  in  as. 
  823.           Notice  the  upper and lower case mix in  the  IN  statements 
  824.           literal that it is using to test the fields value against. So 
  825.           it  was  necessary  to  allow  for  the  user  to  type   any 
  826.           combination of upper or lower case characters.
  827.       
  828.           The IN statement 1   
  829.           -------------------------------------------------------------
  830.           The  first  IN  statement inside the action part  of  the  IF 
  831.           statement  tests  if the values ARE NOT EQUAL  (\  means  not 
  832.           equal)  to  the literal 'AbCdEfG'. If it is not  the  message 
  833.           'The  strings do not match' is displayed on the  screen.  For 
  834.           Turbo  ScrEdit  to get beyond this IN  statement,  the  value 
  835.           keyed  into  the field would have to be type with  upper  and 
  836.           lower case characters exactly as the test value.
  837.       
  838.           The IN statement 2   
  839.           -------------------------------------------------------------
  840.           The second IN statement test if the fields value IS EQUAL (=) 
  841.           to  the  literal. If the values test equal then  the  message 
  842.           "The strings ar considered the same." is displayed.
  843.       
  844.       
  845.       The UP SHIFT ON       
  846.           -------------------------------------------------------------
  847.           If  Turbo ScrEdit makes it past the above IF  statement  then 
  848.           the  mode  selected must be ON. So the value keyed is  to  be 
  849.           tested with UP SHIFT mode set to ON.
  850.       
  851.       
  852.       
  853.       
  854.       
  855.       
  856.       
  857.       
  858.       
  859.                                  Page T-2.13
  860.       
  861.       
  862.       
  863.       The IN statement 3   
  864.           -------------------------------------------------------------
  865.           The  first of the next two IN statements test to see  if  the 
  866.           string  keyed  into  the field DOES NOT  match  the  literal. 
  867.           Remember case is not considered, only alphabetical characters 
  868.           are  compared.  If the fields do not match the  message  "The 
  869.           strings are not the same." is displayed.
  870.       
  871.       The IN statement 4   
  872.           -------------------------------------------------------------
  873.           By  the time control gets to the last IN statement  for  this 
  874.           field, the value keyed into the field will have to be a match 
  875.           to  the  test  string  and  the  message  "The  Strings   are 
  876.           considered the same." will be displayed.
  877.       
  878.       
  879.       Go ahead and try playing with this example.
  880.       
  881.       When you are ready to continue PRESS F9 to re-init the screen.
  882.       
  883.       The  next  option  on this screen  will  demonstrate  date  field 
  884.       editing.  You can use the DATE option to build masks  that  turbo 
  885.       scredit will use to validate that a date is valid. 
  886.       
  887.       Be  sure  to look up DATE in the on-line help system  before  you 
  888.       continue.
  889.       
  890.       
  891.       The IF statement 1    
  892.           -------------------------------------------------------------
  893.           Again,  the field processing statements in this  section  are 
  894.           only  to be processed if the user has selected option '4'.
  895.       
  896.       
  897.       The IF statements 2 thru 6   
  898.           -------------------------------------------------------------
  899.           These if statement test the value of T for 1 thru 5. Each  of 
  900.           the  DATE  statements  will  edit  the  value  of  Date_Field 
  901.           according to the DATE MASK defined in the IF statement action 
  902.           section.
  903.       
  904.           The value keyed by the user must match the selected date mask 
  905.           exactly, including punctuation. 
  906.           
  907.           Usually you will use only one date format on a field and  you 
  908.           will  use an EDIT MASK to place the special punctuation  into 
  909.           the field. EDIT MASK's are explained next.
  910.       
  911.       
  912.       Go  ahead  and try this option out. Try all  five  date  options.
  913.       
  914.       When you are ready to continue PRESS F9.
  915.       
  916.       The final option demonstrates using EDIT MASKS. 
  917.       
  918.       
  919.       
  920.       
  921.       
  922.       
  923.       
  924.       
  925.                                  Page T-2.14
  926.       
  927.       
  928.       
  929.       
  930.       Look up EDIT in the on-line help system and read the text.
  931.       
  932.       Locate the field "EditMask" on the screen listing. It will be the 
  933.       last field listed.
  934.       
  935.       Type: 5 and PRESS ENTER
  936.       
  937.       Notice  that  the cursor has moved to the field in the  option  5 
  938.       section of the screen, and that the field is no longer empty, but 
  939.       has changed and now has a number of characters spread out through 
  940.       it. 
  941.       
  942.       Before we look at how the EDIT MASK works lets look at the  field 
  943.       processing statements that have been defined for this field.
  944.       
  945.       The EDIT statement
  946.           -------------------------------------------------------------
  947.           The Edit statement establishes a edit mask that is to be used 
  948.           for a field. Any time Turbo ScrEdit gets ready to accept data 
  949.           entry into a field, it checks to see if the field has a  Edit 
  950.           Mask
  951.       
  952.       The IF statement 
  953.           -------------------------------------------------------------
  954.           This if statement will cause Turbo ScrEdit to skip this field 
  955.           if the Option is not equal to 5.
  956.       
  957.       The REQUIRED statement
  958.           -------------------------------------------------------------
  959.           This  statement has been defined here to cause the cursor  to 
  960.           come to this field when option 5 is selected. Notice that the 
  961.           field is not REQUIRED if the option field is not 5.
  962.       
  963.        
  964.       Now lets turn our attention to the example on the screen. Be sure 
  965.       before  we precede that you read the on-line help section on  the 
  966.       EDIT statement. Or re-read it if you do not understand what  each 
  967.       of the edit characters (#,3,$,4,@,2) mean.
  968.       
  969.       Next notice that a copy of the edit mask  "$$$/###-333(@@@:@@@)$" 
  970.       has been type in the border  directly below the screen field. Use 
  971.       this as a guide when typing characters into the field.
  972.       
  973.           PRESS TAB 5 times.
  974.       
  975.       Notice  each time you press the TAB key the cursor moves  to  the 
  976.       next section of the edit mask instead of to the next field on the 
  977.       screen.
  978.       
  979.       Edit  masks  actually  cause a field to be  broken  into  smaller 
  980.       fields inside of the original field.
  981.        
  982.           PRESS SHIFT and TAB 5 times.
  983.       
  984.       
  985.       
  986.       
  987.       
  988.       
  989.       
  990.       
  991.                                  Page T-2.15
  992.       
  993.       
  994.       
  995.       Now the cursor should be back on the first section of the field. 
  996.       
  997.           PRESS the "*" key four or five times.
  998.         
  999.       An  error message was displayed on the bottom line of the  screen 
  1000.       when  you  tried to type the 4th * into the  field.  The  message 
  1001.       states  that only the characters '0' thru '9' can be keyed in  to 
  1002.       the field at that point. Notice that In the mask below the  field 
  1003.       we  see  that we tried to type a none numeric character  where  a 
  1004.       numeric mask character (#,3) is in the edit mask. 
  1005.       
  1006.           PRESS the "3" key 7 or 8 times.
  1007.       
  1008.       Again  when  we tried to type a numeric character  into  the  the 
  1009.       field where a alphabetic (@,2) mask character is defined.     
  1010.       
  1011.           PRESS "A" 3 times
  1012.           PRESS "B" 4 times
  1013.       
  1014.           PRESS SHIFT TAB
  1015.       
  1016.       Now the cursor is back on the first character of the field in the 
  1017.       option 5 section of the screen.
  1018.       
  1019.           PRESS the INSERT key until the INSERT label is highlighted 
  1020.           in the toggle key status line.
  1021.       
  1022.           PRESS 'X'
  1023.       
  1024.       Notice  that the "X" character was inserted into the  field,  but 
  1025.       only in the section defined by that particular type of edit  mask 
  1026.       character. 
  1027.       
  1028.           PRESS DEL 2 times
  1029.       
  1030.       Characters  are  deleted only in the first section  of  the  edit 
  1031.       mask.
  1032.       
  1033.           PRESS TAB 
  1034.           PRESS DEL
  1035.       
  1036.       Notice  in this section of the field and the next that  the  edit 
  1037.       mask  has been defined using both numeric field  edit  characters 
  1038.       '###-333'. Because we have defined these two area with  different 
  1039.       characters  they  will still be handled as two  distinct  fields. 
  1040.       When we deleted the character if effected only the first section.
  1041.       
  1042.           PRESS TAB 2 times
  1043.       
  1044.       Notice  now  how  this section of the edit  mask  is  defined  as  
  1045.       "(@@@:@@@)".  Again we have two fields defined, but they  are  of 
  1046.       the  same  edit  type and we have filled  them  with  the  values 
  1047.       'AAA:BBB'.
  1048.       
  1049.           PRESS DEL
  1050.       
  1051.       
  1052.       
  1053.       
  1054.       
  1055.       
  1056.       
  1057.                                  Page T-2.16
  1058.       
  1059.       
  1060.       
  1061.       Notice  this  time  that  when the "A"  is  deleted  that  a  "B" 
  1062.       character  has moved into this field and that the blank has  been 
  1063.       appended  to  the end of the next field.  This  demonstrates  how 
  1064.       Turbo  ScrEdit  considers  consecutive sections of  a  edit  mask 
  1065.       defined  with the same edit character as though the are the  same 
  1066.       field.
  1067.       
  1068.       Make sure that INSERT MODE is still on.
  1069.       
  1070.           PRESS "Z" 3 times
  1071.       
  1072.       As  you typed characters into the left side of this  section  the 
  1073.       characters moved ahead of the cursor  into the right side of  the 
  1074.       field and was truncated of the right most character.
  1075.       
  1076.       That  concludes  PART  II of the tutor.  As you  can  see,  Turbo 
  1077.       ScrEdit's field processing language is simple to use and has many 
  1078.       powerful features that can save you hours programming time.
  1079.       
  1080.       
  1081.       
  1082.       
  1083.       
  1084.       
  1085.       
  1086.       
  1087.       
  1088.       
  1089.       
  1090.       
  1091.       
  1092.       
  1093.       
  1094.       
  1095.       
  1096.       
  1097.       
  1098.       
  1099.       
  1100.       
  1101.       
  1102.       
  1103.       
  1104.       
  1105.       
  1106.       
  1107.       
  1108.       
  1109.       
  1110.       
  1111.       
  1112.       
  1113.       
  1114.       
  1115.       
  1116.       
  1117.